A Device Level Communication Library for the Hpjava Programming Language
نویسندگان
چکیده
Two characteristic run-time communication libraries of HPJava are developed as an application level library and device level library. A high-level communication API, Adlib, is developed as an application level communication library. This communication library supports collective operations on distributed arrays. The mpjdev API is a device level underlying communication library for HPJava. This library is developed to perform actual communication between processes. The paper describes the novel issues in the implementation of device level library on different platforms, and gives comprehensive benchmark results on a parallel platform. All software developed in this project is available for free download from www.hpjava.org. Procs2 p = new Procs2(P, P) ; on(p) { Range x = new BlockRange(M, p.dim(0)) ; Range y = new BlockRange(N, p.dim(1)) ; float [[-,-]] a = new float [[x, y]], b = new float [[x, y]], c = new float [[x, y]]; ... initialize values in `a', `b' overall(i = x for :) overall(j = y for :) c [i, j] = a [i, j] + b [i, j] ;
منابع مشابه
Collective communication for the HPJava programming language
This paper addresses functionality and implementation of a HPJava version of the Adlib collective communication library for data parallel programming. We begin by illustrating typical use of the library, through an example multigrid application. Then we describe implementation issues for the highlevel library. At a software engineering level, we illustrate how the primitives of the HPJava langu...
متن کاملCollective Communications for Scalable Programming
HPJava is an environment for scientific and parallel programming using Java. It is based on an extended version of the Java language. One feature that HPJava adds to Java is a multi-dimensional array, or multiarray, with properties similar to the arrays of Fortran. We are using Adlib as our high-level collective communication library. Adlib was originally developed using C++ by the Parallel Com...
متن کاملCollective Communications for HPJava
We discuss implementation of high-level collective communication library, called Adlib, for scalable programming in Java. We are using Adlib as basis of our system, called HPJava. Many functionalities of Java version of high-level communication library is following its predecessor–C++ library developed by in the Parallel Compiler Runtime Consortium (PCRC). However, many design issues are recons...
متن کاملTowards Efficient Compilation of the Hpjava Language for High Performance Computing
This dissertation is concerned with efficient compilation of our Java-based, highperformance, library-oriented, SPMD style, data parallel programming language: HPJava. It starts with some historical review of data-parallel languages such as High Performance Fortran (HPF), message-passing frameworks such as p4, PARMACS, and PVM, as well as the MPI standard, and high-level libraries for multiarra...
متن کاملHPJava: a data parallel programming alternative
The HPJava (high-performance Java) project aims to support scientific and parallel computing in a modern, object-oriented, Internet-friendly en-vironment—the Java platform. HPJava leverages popular high-performance Fortran (HPF) language and library features such as " scientific " multidi-mensional array syntax and distributed arrays, while at a more language-independent level, it introduces a ...
متن کامل